import { _HttpClient } from "@delon/theme";
import { Injectable } from "@angular/core";
import { HttpParams, HttpHeaders } from "@angular/common/http";
import { environment } from "../../../../../environments/environment";


const responseHeaders = new HttpHeaders().set("Content-Type", "application/json;charset=UTF-8");

@Injectable({ providedIn: "root" })
export class JzjcMainService {
    constructor(private http: _HttpClient) { }


    /**
     * 查询问题列表
     * @param status 状态
     * @param problemlevel 监测问题级别
     * @param problemtypeid 问题类型
     * @param stationed 车站
     * @param pc 分析台编号
     * @param cancle 是否销号
     * @param page
     * @param limit
     */
    query(param) {
        const dataurl = environment.project + '/jzjcProblem/query';
        return this.http.get(dataurl, param);
    }



    /**
     * 新增
     * @param params pc 分析台类型
     * @param params stationid：车站ID，
     * @param params stationname：车站名称，
     * @param params problemtype 问题类型
     * @param params problemtypeid 
     * @param params problemlevel：问题级别（I、II、III），
     * @param params problem：问题内容，
     * @param params chargeorg：责任部门ID，
     * @param params chargeorgname：责任部门名称
     * @param params assistorg 协助部门
     * @param params assistorgname 
     * @param params charger：责任人，
     * @param params rectdate 整改日期
     * @param params note 备注
     * @param params status 
     * 
     */
    add(params) {
        const dataurl = environment.project + '/jzjcProblem/add';
        return this.http.post(dataurl, params, {}, { headers: responseHeaders });
    }


    /**
     * 修改
     * @param params id
     * @param params stationid：车站ID，
     * @param params stationname：车站名称，
     * @param params problemtype 问题类型
     * @param params problemtypeid 
     * @param params problemlevel：问题级别（I、II、III），
     * @param params problem：问题内容，
     * @param params chargeorg：责任部门ID，
     * @param params chargeorgname：责任部门名称
     * @param params assistorg 协助部门
     * @param params assistorgname 
     * @param params charger：责任人，
     * @param params rectdate 整改日期
     * @param params note 备注
     * @param params applyrectdate 申请延期日期
     * @param params handleinfo 申请原因
     * @param params status 
     */
    edit(params) {
        const dataurl = environment.project + '/jzjcProblem/update';
        return this.http.post(dataurl, params, '', { headers: responseHeaders });
    }
    delete(id) {
        const dataurl = environment.project + '/jzjcProblem/delete/' + id;
        return this.http.post(dataurl);
    }

    getAllStation() {
        const url = environment.apiBase + `/csmis/sys/getAllStation.jwt`;
        return this.http.get(url);
    }

    // /**
    //  * 查询人员
    //  * @param id isWorklist = 1就返回带3个防护员的查询结果
    //  */
    // getPeople(id, isWorklist = 0) {
    //     const url = environment.apiBase + `/csmis/csmisEquadjust/wswatree.jwt?orgid=${id}&isWorklist=${isWorklist}`;
    //     return this.http.get(url);
    // }

    /**
     * 新增整改情况
     * @param params 
     */
    addZgqk(params) {
        const dataurl = environment.project + '/jzjcProblem/rectProblem';
        return this.http.post(dataurl, params);
    }

    /**
     * 不能处理整改情况
     * @param params 
     */
    canNotHandle(id) {
        const dataurl = environment.project + '/jzjcProblemHandle/handle';
        return this.http.post(dataurl, { id });
    }

    /**
     * 销号整改情况
     * @param params 
     */
    xhZgqk(id) {
        const dataurl = environment.project + '/jzjcProblemHandle/cancelConfirm';
        return this.http.post(dataurl, { id });
    }
    /**
     * 申请销号整改情况
     * @param params 
     */
    sqxhZgqk(id) {
        const dataurl = environment.project + '/jzjcProblemHandle/cancelConfirm';
        return this.http.post(dataurl, { id });
    }


    /**
     * 查询整改情况
     * @param params 
     */
    queryZgqk(problemid) {
        const url = environment.project + `/jzjcProblem/getHandlelist`;
        return this.http.get(url, { problemid });
    }


    /**
     * 纳入问题库
     * @param params stationid
     * @param params stationname
     * @param params problemtype
     * @param params problemlevel
     * @param params problem
     * @param params pc
     */
    addInPblmBase(params) {
        const url = environment.project + '/jzjcProblem/SystemAdd';
        return this.http.post(url, params);
    }

    /**
     * 获取问题类型
     */
    getWtlx() {
        const url = environment.apiBase + `/csmis/getShebeitypeByClass.jwt?vcClass=JC_PROBLEM_TYPE&yesorno=1`;
        return this.http.get(url);
    }

    /**
     * 根据分析台获取车站列表
     * @param pc 
     * hkgst 沪昆高速台
     * nkkzt 南昆客专台
     * nkhgpst 南昆、红果普速台
     * hkpst 沪昆普速台
     */
    getStationByjcpc(pc) {
        const url = environment.project + `/jzjcProblem/getStationByjcpc`;
        return this.http.get(url, { pc });
    }

    /**
     * 
     * @param findall 1 查全部 不传查自己下属
     */
    getBm(findall = '0') {
        const url = environment.project + `/jzjcProblem/getOrgDatasByLogin`;
        return this.http.get(url, { findall });
    }

    /**
     * 调度查部门
     */
    getBm_dd() {
        const url = environment.project + `/sysTOrg/getAllWorkshop`;
        return this.http.get(url);
    }
}